package com.hujiang.basic.search.util;

import com.hujiang.basic.search.model.HJBulkIndexRequest;

import java.util.Map;

public interface IndexEsDao {

    String getIndexName(String alias);

    Map<String, String> getIndexMappings(String indexName);

    Map<String, String> getIndexSettings(String indexName);

    void createIndex(String indexName, Map<String, String> indexMappings, Map<String, String> indexSettings);

    void createIndex(String indexName, String indexConfig, String indexAlias);

    void addBulkIndexData(String newIndexName, HJBulkIndexRequest hjBulkIndexRequest);

    void changeIndexAlias(String indexName, String newIndexName, String indexAlias);

    void addAlias(String indexName, String indexAlias);

    void closeIndex(String index);

    long getCount(String index);

    void flushAndRefresh(String index);
}